home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / manyth31 / manyth31.txt < prev    next >
Text File  |  1997-05-16  |  5KB  |  82 lines

  1. ManyThings, 3.1                                                      9-16-94
  2.  
  3. This program is for demo purposes only, I do not want you to send me any money.  I just want 
  4. to share a program I had fun writing.  The original program was fun for me in that it was 
  5. possible to do a windows 3.1 screen saver entirely in visual basic and windows calls without 
  6. additional DLLs required.  This latest version of the program now uses a DLL written in 
  7. Borland C++ 3.1 to load DIB and GIF files into memory, do palette manipulations and write 
  8. DIB format files to disk.  This became necessary because Visual Basic was too slow to 
  9. handle this.
  10.  
  11. Installation -- The program requires VBRUN300.DLL to be in your "\windows\system" directory 
  12. (can be downloaded from many places), and of course Windows 3.1.  You need to copy 
  13. MANYTHNG.SCR (this is the executable) into your "\windows" directory and MNYTHDLL.DLL 
  14. into your "\windows\system" directory.  At this point you can select "Control Panel" from 
  15. the "Main" group in program manager, and then from "Control Panel" select "Desktop".  In 
  16. desktop there is a section called Screen Saver.  In that section under name you then push 
  17. the down arrow and select "Many Things".  At this point you sould probably click on the "Setup 
  18. Button", this is where you may set the various options and can set a password if you wish.  
  19. You may now test the saver by clicking "Test" and may set the time before windows will 
  20. activate the saver by changing the "Delay" time.  When you select "OK" from desktop, 
  21. "Many Things" becomes the screen saver that windows will use.
  22.  
  23.  
  24. Disclaimers:    The program is provided as a programming example at no charge.  The 
  25. program is provided as is, without any warranties or obligations.
  26.  
  27. Short History --
  28. New with version 3.1 -- Fixes problem if bitmaps directory is invalid.
  29.  
  30. New with version 3.0 -- Now implementing password protection!  There is also a new 
  31. ShootHoles saver, some minor changes of kaliedescope savers, and the line drawing color 
  32. selection has been improved for 256 color displays so that greys are rejected.  Also, 
  33. it is now possible to change the frequency of individual savers, or even disabling 
  34. certain savers by adding lines to "Control.ini".  Also there is a color cycling saver 
  35. that works with DIB and GIF-87a (non-interlaced) format files with both 256 color and 
  36. Hi-Color displays.  The slide show routine now also works with GIF-87a (non-interlaced) 
  37. format files which are usually much smaller than BMP format files.  These files may be 
  38. converted using Paintshop Pro (highly recommended shareware) make sure to select format 
  39. GIF and 87a -- non-interlaced.  Warning -- interlaced GIF files will look like the picture 
  40. is stacked on itself several times and each version is squashed; GIF-89a files will not 
  41. load, they can be converted using Paintshop Pro.  The C code for reading the GIF format 
  42. was written by Larry Widing and is available in the Borland C++ Win/OS2 Forum, Library 
  43. 10 area on compuserve as bitmaps.zip.  
  44.  
  45. This is a screen saver was originally written in visual basic 2.0 (standard edition) and 
  46. now has been upgraded to VB 3.0.  The program actually cycles between several different 
  47. screen savers within the same program to give quite a bit of variety.  The basic screen 
  48. saver method is based on an example in "Learn Programming and Visual Basic 2.0" by John 
  49. Socha and Sybex Inc.  The Windows API calls were chosen with help from PC Mag's "Visual 
  50. Basic Programmer's Guide to the Windows API".  The grabbing of the desktop pixels was 
  51. based on Jonathan Zuck's screen-capture utilities in the November issue of Windows 
  52. Tech Journal.  Also thanks to Rick Perrott for suggestions on using setting a modal 
  53. window and disabling windows screen save (please send me a note on how to contact you).
  54.  
  55. Screen Saver Operation --
  56.  
  57. When the saver begin the subroutine main in MANYTHNG.BAS is first called, it then 
  58. reads CONTROL.INI and checks the command line parameters to see whether to run the 
  59. setup form or to start the saver.  When it starts the saver, it executes ManyThngs.Show 
  60. which causes subroutine Form_Load to run in form MANYTHNG.FRM.  This subroutine 
  61. initializes variables, etc.  Then from that point on everything is initiated by the timer.  
  62. Whenever the timer times out, the subroutine Tick_Timer is called which handles the 
  63. housekeeping for which save is to be run, and when it is time to change to another saver.  
  64. Using the Tick_Timer means that the savers are limited for speed, but the will yield 
  65. time to background processes (e.g. file transfers, tape backups, etc.).
  66.  
  67. The savers that involve moving lines or objects work by starting at random positions on 
  68. the screen with zero velocity and acceleration vectors.  Then in each iteration, a 
  69. random acceleration is added to the velocity of each point.  When an object gets to the 
  70. edge of the screen the velocity's sign is reversed to bring it back into screen.  This 
  71. effect looks to the user as if the object bounced off the edge of the screen.  Also 
  72. when the velocity reaches a certain limit, the velocity is set to zero to prevent 
  73. things from getting too out of hand.
  74.  
  75.  
  76.  
  77.      Bruce McLean
  78.      800 S. HW. 1417 #1214
  79.      Sherman TX 75090
  80.      CIS: 71413,2664
  81.      Internet: MCLB@TIMSG.CSC.TI.COM
  82.